package main

import (
	"os"

	"github.com/gin-gonic/gin"
	"github.com/sirupsen/logrus"
)

type MyHook struct {
}

func (mh MyHook) Levels() []logrus.Level {
	// return logrus.AllLevels
	// 可以过滤日志等级
	return []logrus.Level{logrus.ErrorLevel}
}

func (mh MyHook) Fire(entry *logrus.Entry) error {
	// 新增字段
	// entry.Data["渣渣"] = "连城诀"
	// 在过滤等级之后实现相关操作，比如存储到文件
	file, _ := os.OpenFile("./logs/error.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	line, _ := entry.String()
	file.Write([]byte(line))
	defer file.Close()
	return nil
}

func main4() {
	router := gin.New()
	logrus.AddHook(&MyHook{})
	logrus.Warn("okkkk")
	logrus.Error("okkkk")
	router.Run("127.0.0.1:8003")
}
